// exports.PlatformManager = void 0;
// var AL_GAME_HUA_TTPlatform = require("./AL_GAME_HUA_TTPlatform");
// var AL_GAME_HUA_WxPlatform = require("./AL_GAME_HUA_WxPlatform");
// var r = (function () {
//     function e() {
//         this.platformMap = {};
//     }
//     e.getInstance = function () {
//         return this.instance || (this.instance = new e());
//     };
//     e.destroy = function () {
//         this.instance = null;
//     };
//     Object.defineProperty(e.prototype, "wx", {
//         get: function () {
//             return this.getPlatform("wx", AL_GAME_HUA_WxPlatform.WxPlatform);
//         },
//         enumerable: !1,
//         configurable: !0
//     });
//     Object.defineProperty(e.prototype, "tt", {
//         get: function () {
//             return this.getPlatform("tt", AL_GAME_HUA_TTPlatform.TTPlatform);
//         },
//         enumerable: !1,
//         configurable: !0
//     });
//     e.prototype.init = function () {
//         this.wx.init();
//     };
//     e.prototype.chuangjian_pingtai_shili = function (e, t) {
//         var n = new t();
//         this.platformMap[e] = n;
//         return n;
//     };
//     e.prototype.getPlatform = function (e, t) {
//         return e in this.platformMap ? this.platformMap[e] : this.chuangjian_pingtai_shili(e, t);
//     };
//     e.instance = null;
//     return e;
// })();
// exports.PlatformManager = r;


exports.PlatformManager = void 0;

// 引入外部平台模块
var AL_GAME_HUA_WxPlatform = require("./AL_GAME_HUA_WxPlatform");

// 平台管理类
class PlatformManager {
    constructor() {
        // 保存平台实例的映射
        this.platformMap = {};
    }
    
    /** 
     * 获取平台管理器的单例实例
     * @returns {PlatformManager} 平台管理器的单例实例
     */
    static getInstance() {
        // 如果实例不存在，则创建一个新的实例
        if (!this.instance) {
            this.instance = new PlatformManager();
        }
        return this.instance;
    }

    /**
     * 销毁平台管理器的单例实例
     */
    static destroy() {
        // 将实例设置为 null
        this.instance = null;
    }
    
    /**
     * 获取微信平台实例
     * @returns {WxPlatform} 微信平台实例
     */
    get wx() {
        return this.getPlatform("wx", AL_GAME_HUA_WxPlatform.WxPlatform);
    }

    /**
     * 获取TT平台实例
     * @returns {TTPlatform} TT平台实例
     */
    get tt() {
        return null;
    }

    /**
     * 初始化平台管理器，初始化微信平台
     */
    init() {
        this.wx.init();
    }

    /**
     * 创建平台实例并存入映射
     * @param {string} platformName - 平台名称
     * @param {Function} PlatformClass - 平台类构造函数
     * @returns {Object} 创建的平台实例
     */
    chuangjian_pingtai_shili(platformName, PlatformClass) {
        const platformInstance = new PlatformClass();
        this.platformMap[platformName] = platformInstance;
        return platformInstance;
    }

    /**
     * 获取平台实例，如果不存在则创建
     * @param {string} platformName - 平台名称
     * @param {Function} PlatformClass - 平台类构造函数
     * @returns {Object} 平台实例
     */
    getPlatform(platformName, PlatformClass) {
        if (platformName in this.platformMap) {
            return this.platformMap[platformName];
        }
        return this.chuangjian_pingtai_shili(platformName, PlatformClass);
    }
}

// 初始化单例实例为 null
PlatformManager.instance = null;

// 导出平台管理类
exports.PlatformManager = PlatformManager;